Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Ray tracing
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Il mwbwray tracing è una famiglia di soluzioni di mwcageometria ottica che si basa sul calcolo del percorso fatto dalla luce, seguendone i mwcqraggi attraverso l'interazione con le superfici. È usato nella modellazione di sistemi ottici, come mwcglenti per fotocamere, mwcwmicroscopi, mwdatelescopi e mwdqbinocoli. Il termine viene utilizzato anche per un preciso mwdgalgoritmo di mwdwRendering nel campo della mweaComputer grafica 3D, in cui le visualizzazioni delle scene, modellate matematicamente, vengono prodotte usando una tecnica che segue i raggi partendo dal punto di vista della telecamera oppure dalle sorgenti di luce.

In uno spettro di costi computazionali e fedeltà visiva, le tecniche di rendering basate sul ray tracing, come: mwewray casting, ray tracing ricorsivo, ray tracing distribuito, mwfgmappatura dei fotoni e path tracing; sono generalmente più lente e con una maggiore fedeltà rispetto ai metodi di mwgascanline rendering.cite-ref-1[1]

Altre tecniche che fanno parte del ray tracing sono path tracing bidirezionale, Metropolis light transport (MLT) e path tracing volumetrico.

Contents

Note

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Descrizione generale dell'algoritmo per computer

Il ray tracing descrive un metodo per la produzione di immagini costruite in sistemi di mwkacomputer grafica 3D, con maggior realismo di quello che si potrebbe ottenere con l'uso di mwkqray casting o mwkgscanline rendering. Lavora tracciando, all'inverso, il percorso che potrebbe aver seguito un raggio di mwkwluce prima di colpire un'immaginaria lente. Mentre la scena viene attraversata seguendo il percorso di numerosi raggi, le informazioni sull'aspetto della scena vengono accumulate. La riflessione del raggio, la sua rifrazione o l'assorbimento sono calcolate nel momento in cui colpisce un qualsiasi oggetto.

Le scene, nel ray tracing, vengono descritte matematicamente, solitamente da un mwlgprogrammatore, o da un grafico, utilizzando particolari mwlwprogrammi. Le scene possono anche includere immagini e modelli creati attraverso varie tecnologie, per esempio usando la mwmafotografia digitale. Seguendo i raggi in senso inverso viene alleggerita di molto la mwmqcomplessità dell'algoritmo, il che rende possibile una precisa simulazione di tutte le possibili interazioni presenti nella scena. Questo è dovuto al fatto che la maggior parte dei raggi che parte da una sorgente non fornisce dati significativi all'occhio di un osservatore. Potrebbero invece rimbalzare finché si riducono al nulla, andare verso l'infinito o raggiungere qualche altra camera. Una simulazione che parta seguendo tutti i raggi emessi da tutte le sorgenti di luce non è fisicamente praticabile.

La scorciatoia utilizzata nel raytracing, quindi, presuppone che un dato raggio termini sulla camera, e ne cerca la sorgente. Dopo aver calcolato un numero fisso di interazioni (già deciso in precedenza), l'intensità della luce nel punto di ultima intersezione viene calcolata con un insieme di algoritmi, inclusi il classico algoritmo di rendering ed altre tecniche (come la mwnaradiosity).

Descrizione dettagliata dell'algoritmo, e sua nascita

Cosa accade in natura

In natura, una sorgente di luce emette un raggio che viaggia fino a raggiungere una superficie che ne interrompe il tragitto. Si può pensare al raggio come ad un fascio di mwoafotoni che viaggia sulla stessa linea. Nel mwoqvuoto assoluto questo raggio seguirebbe una linea retta. In realtà, una qualsiasi combinazione di questi tre risultati si può verificare: mwogassorbimento, mwowriflessione e mwparifrazione. Una superficie può riflettere tutto o parte del raggio di luce, in una o più direzioni. Può anche assorbire parte del raggio, causando una perdita di intensità della luce riflessa/rifratta. Se la superficie ha proprietà di mwpqtrasparenza o traslucenza, convoglierà una porzione di luce dentro se stessa, in una direzione diversa rispetto a quella causata dall'assorbimento di una parte (o tutto) lo mwpgspettro ottico (ed eventualmente alterandone il colore). Sommando i valori di assorbimento, riflessione e rifrazione, si ottiene esattamente la potenza del raggio entrante. Una superficie non può, ad esempio, assorbire il 66% del raggio entrante, e rifletterne il 50%, dal momento che la somma darebbe 116%.cite-ref-2[2] Partendo da qui, i raggi riflessi e/o rifratti possono colpire altre superfici, dove verranno assorbiti, riflessi e rifratti (di nuovo). Alcuni di questi raggi, alla fine del viaggio, colpiscono il nostro occhio, permettendoci di vedere la scena e contribuendo al disegno dell'immagine finale.

Algoritmo di ray casting

Il primo algoritmo di ray casting (in opposizione a quello di ray tracing) venne presentato da Arthur Appel nel mwrg1968. L'idea di fondo del ray casting consiste nel far partire i raggi dall'occhio, uno per mwrwpixel, e trovare il più vicino oggetto che ne blocca il percorso (occorre pensare ad un'immagine come ad una grata, in cui ogni quadrato corrisponde ad un pixel). L'oggetto colpito è quello che l'occhio vede attraverso quel pixel. Usando le proprietà del materiale e gli effetti della luce nella scena, questo algoritmo è in grado di determinare il colore dell'oggetto. Questa supposizione è fatta pensando che una superficie è visibile se il raggio la raggiunge senza essere bloccato o in ombra. Il colore della superficie viene calcolato usando i tradizionali mwsashading model presenti in mwsqComputer grafica. Un importante vantaggio offerto dal ray casting rispetto al più vecchio mwsgalgoritmo di scanline, è la sua capacità di gestire con semplicità superfici solide o non-piane, come ad esempio mwswconi e mwtasfere. Se una superficie matematica può essere colpita da un raggio, il ray casting è in grado di disegnarla. Oggetti complicati possono essere creati utilizzando tecniche di mwtqmodellazione solida, e facilmente renderizzati.

Il ray casting per la produzione di computer grafica venne usato per la prima volta da alcuni scienziati del Mathematical Applications Group, Inc., (MAGI) di Elmsford, mwuaNew York. Nel mwuq1966, il gruppo venne creato per effettuare calcoli di esposizione alle radiazioni da parte del mwugDipartimento della Difesa degli Stati Uniti. Il mwuwsoftware creato dal MAGI calcolava non solo i rimbalzi dei mwvaraggi gamma sulle superfici (il ray casting per le radiazioni era utilizzato dagli mwvqanni quaranta), ma anche il modo in cui penetravano negli oggetti e ne venivano rifratti. Questi studi aiutarono il Governo a scegliere alcune applicazioni militari, costruendo veicoli che avrebbero protetto le truppe dalle mwvgradiazioni e veicoli di rientro per le mwvwesplorazioni spaziali. Sotto la direzione del dr. Philip Mittelman, gli scienziati svilupparono un metodo per la generazione di immagini utilizzando lo stesso software. Nel mwwq1972 MAGI divenne un'azienda commerciale di animazione, che utilizzò il ray casting per creare animazioni 3D per la mwwgtelevisione, mwwwdocumentari, e film (crearono buona parte del film mwxamwxqTron utilizzando esclusivamente il ray casting). La MAGI venne chiusa nel mwxg1985.

Algoritmo di ray tracing

La successiva scoperta rivoluzionaria venne fatta da Turner Whitted nel mwyg1979. I precedenti algoritmi lanciavano il raggio dall'occhio verso la scena, ma i raggi non venivano più seguiti. Whitted continuò il processo. Quando un raggio colpisce una superficie, può generare fino a tre nuovi tipi di raggio: riflessione, rifrazione ed ombra. Un raggio riflesso continua nella direzione della riflessione a specchio su di una superficie lucida. A questo punto interagisce con altri oggetti della scena; il primo oggetto che colpisce sarà quello visto nel riflesso presente sull'oggetto originario. Il raggio rifratto viaggia attraverso il materiale trasparente in modo simile, con l'aggiunta che può entrare o uscire da un materiale. Per evitare di tracciare tutti i raggi presenti in una scena, un raggio ombra viene usato per testare se la superficie sia visibile ad una luce. Un raggio colpisce una superficie in un qualche punto. Se questo punto "vede" la luce, un raggio (dal punto di vista del computer un mwywsegmento) viene seguito fino alla sorgente, Se durante il tragitto si incontra un oggetto opaco, la superficie è in ombra, e quella sorgente non contribuisce al calcolo del colore. Questo nuovo livello di calcolo aggiunge più realismo alle immagini create attraverso il ray tracing.

Vantaggi del ray tracing

La popolarità conquistata dal ray tracing pone le basi nella simulazione realistica della luce rispetto ad altri modelli di rendering (tipo scanline rendering o ray casting). Effetti come riflessione ed mwzgombra, difficilmente simulabili con altri metodi, sono il risultato naturale dell'algoritmo. Un'implementazione relativamente semplice conduce a risultati impressionanti, il ray tracing spesso rappresenta il punto di accesso allo studio della mwzwprogrammazione grafica.

Svantaggi del ray tracing

Un grave svantaggio è dato dalle performance. Algoritmi come lo scanline utilizzano la coerenza dei dati per gestire la computazione tra i pixel, mentre il raytracing ricomincia tutto il procedimento ad ogni nuovo pixel, trattando ogni raggio in modo separato. Questa separazione offre vantaggi, tipo la possibilità di spedire più raggi del necessario per ottenere l'mwagantialiasing e migliorare la qualità dell'immagine. Nonostante gestisca interriflessioni e rifrazioni accuratamente, il Ray Tracing tradizionale non è necessariamente mwawfotorealistico. Il vero fotorealismo si ottiene quando l'mwbaequazione di rendering è ben approssimata o completamente implementata. Il suo calcolo dà il vero fotorealismo, dal momento che descrive ogni effetto fisico del flusso di luce. Il calcolo completo è normalmente impossibile date le risorse di computazione richieste. Il realismo di tutti i metodi di rendering, quindi, deve essere valutato in rapporto all'approssimazione dell'equazione e, nel caso del ray tracing, non è necessariamente il più realistico. Altri metodi, tra cui il mwbqphoton mapping, sono basati sul ray tracing in alcune parti dell'algoritmo, e danno migliori risultati.

Attraversamento inverso della scena

Il processo di lanciare i raggi dall'occhio verso la sorgente di luce, per disegnare un'immagine, viene chiamato a volte mwcabackwards ray tracing (o "ray tracing inverso"), dal momento che i mwcqfotoni viaggiano in senso opposto a quello usuale. Questa terminologia crea confusione. All'inizio il ray tracing era fatto partendo dall'occhio, ed i primi ricercatori (tipo James Arvo), usarono il termine mwcgbackwards ray tracing per riferirsi al percorso sorgente-occhio. Per questo motivo, è più semplice distinguere i due casi in mwcweye-based (basato sull'occhio) e mwdalight-based (basato sulla sorgente). La ricerca, negli scorsi decenni, ha esplorato combinazioni di computazioni effettuate in entrambi i sensi, così come schemi in grado di generare più o meno raggi in direzioni differenti, partendo da una superficie colpita. Ad esempio, gli algoritmi di mwdqradiosity lavorano solitamente computando il modo in cui i fotoni, emessi da una sorgente, modificano le superfici, registrandone i risultati. Questi dati possono essere usati da un ray tracer ricorsivo standard per creare un'immagine più corretta. Nel contesto degli algoritmi di mwdgilluminazione globale, come il mwdwphoton mapping ed il Metropolis light transport, il ray tracing è solo uno dei tool usati per calcolare il trasferimento di luce tra le superfici.

Algoritmo: classico ray tracing ricorsivo

Per ogni pixel dell'immagine {
Crea un raggio che, dall'occhio, passa attraverso questo pixel
Inizializza "NearestT" a "INFINITO" e "NearestObject" a "NULL"

Per ogni oggetto della scena {
Se il raggio colpisce questo oggetto {
Se la distanza "t" è meno di "NearestT" {
Imposta "NearestT" a "t"
Imposta "NearestObject" a questo oggetto
}
}
}

Se "NearestObject" è "NULL" {
Colora questo pixel con il colore di sfondo
} Altrimenti {
Spedisci un raggio ad ogni sorgente di luce per testare se è in ombra
Se la superficie è riflettente, genera il raggio riflesso: (ricorsione)
Se la superficie è trasparente, genera il raggio rifratto: (ricorsione)
Usa "NearestObject" e "NearestT" per calcolare il colore
Colora questo pixel con il colore risultante
}
}

Sotto viene mostrata un'immagine che illustra il percorso di alcuni raggi ricorsivi, calcolato utilizzando lo mwfgpseudocodice scritto qui sopra. Una superficie mwfwdiffusiva riflette la luce in tutte le direzioni.

mwgq

Per prima cosa, un raggio viene creato dal punto di vista della telecamera e tracciato attraverso un mwhqpixel verso una scena, dove colpisce una superficie diffusiva. Da questa superficie l'algoritmo genera un raggio riflesso, lanciato, a sua volta, attraverso la scena, fino ad un'altra superficie. Infine, un nuovo raggio parte, fino a raggiungere la sorgente di luce, dove viene assorbito. A questo punto, il colore del pixel dipende da quello delle due superfici colpite e da quello della sorgente di luce. Ad esempio, se la luce emessa è bianca e le due superfici sono blu, il colore risultante sarà blu.

Ray tracing in real time

Nel tempo si sono succeduti anche sforzi tesi ad implementare un ray tracing in mwiasistema real-time per applicazioni di grafica quali i mwiqvideogiochi.

Il progetto OpenRT è composto da un nucleo altamente ottimizzato basato sul ray tracing, e ad un mwjaAPI in stile mwjqOpenGL per poter offrire un'alternativa all'approccio corrente basato sulla mwjgrasterizzazione.

L'mwkahardware specifico per il ray tracing, come il Ray Processing Unit sviluppato all'mwkgUniversità della Saarland, è stato progettato per accelerare alcune operazioni computazionalmente dispendiose.

Alcuni software real-time, con motore basato sul ray tracing, sono stati sviluppati da programmatori appassionati fino ai tardi mwlaanni novanta. I ray tracer usati in queste mwlqdemo, comunque, usano spesso approssimazioni inaccurate ed arrivano ad imbrogliare per ottenere un buon mwlgframe rate.cite-ref-3[3]

Dalla generazione mwnaGeForce 20 series di GPU in poi, della casa Nvidia, è stato implementato un sistema di accelerazione hardware che punta a rendere possibile il ray tracing in tempo reale, specie nei videogiochi, il tutto col supporto di dedicati tool per sviluppatori.
Tale soluzione venne successivamente migliorata, permettendo anche il "full ray tracing" o "path tracing" o "modalità RT Overdrive" con le schede video mwngGeForce 20 series accompagnate dalla controparte software DLSS 3.5cite-ref-4[4].

Nell'ottica geometrica

Il ray tracing, in mwpqcomputer grafica, deriva il proprio nome ed i principi da una precedente tecnica usata per la progettazione di lenti. In mwpgottica, il raytracing è una tecnica utilizzata per la realizzazione di mwpwlenti e strumenti mwqaottici - mwqqfotocamere, mwqgbinocoli, mwqwtelescopi e mwramicroscopi - fin dai primi anni del mwrqXX secolo. Questo tipo di raytracing descrive la propagazione dei raggi di luce attraverso sistemi di lenti o uno strumento ottico, permettendo di modellare le proprietà di creazione dell'immagine.

I seguenti effetti possono essere integrati in un software di ray tracing:

• mwsqDispersione ottica (conduce ad mwsgaberrazioni cromatiche; parzialmente integrata in mwswPOV-Ray)
• Indice del gradiente ottico

• Ottica dei cristalli

• Effetti di luce mwvalaser
• Interferenza in pellicole sottili come mwvwbolle di sapone o ottiche multistrato (può essere utilizzata per calcolare la riflettività di una superficie).

Nella progettazione delle lenti acquistano importanza due casi particolari. Nel primo caso, i raggi provenienti da una sorgente luminosa si incontrano in un mwwqpunto focale dove possono interferire in modo costruttivo e distruttivo gli uni con gli altri. Nella regione focale prossimale, i raggi possono essere approssimati convenientemente da mwwgonde piane che ne ereditano la direzione. La lunghezza del percorso ottico (OPL) dalla sorgente viene utilizzata per determinare la mwwwfase dell'onda. La mwxaderivata della posizione del raggio nella regione focale rispetto alla posizione della sorgente è usata per ottenere la larghezza del raggio e, da questa, l'mwxqampiezza dell'onda piana. Il risultato è la funzione di diffusione del punto luminoso (mwxwpoint spread function o PSF), la cui mwyatrasformata di Fourier corrisponde alla funzione di trasferimento della modulazione (MTF), da cui si può calcolare anche il mwygrapporto di Strehl.

Il secondo caso considera l'interferenza dei mwzafronti d'onda (l'insieme dei punti che hanno la stessa fase) che sono approssimabili, come detto in precedenza, a delle superfici piane. Quando i raggi si avvicinano tra loro, o si intersecano, questa approssimazione viene meno.

Le interferenze di onde sferiche non hanno solitamente a che fare con il ray tracing dato che la mwzgdiffrazione, ad una determinata apertura, non può essere calcolata.

Queste tecniche vengono utilizzate per minimizzare le mw0aaberrazioni ottiche in campo fotografico, per applicazioni ad elevata lunghezza d'onda, come la modellazione di mw0qmicroonde o sistemi radio, e a corta lunghezza d'onda come le ottiche a mw0graggi ultravioletti e mw0wraggi X.

Prima dell'avvento dei mw1qcomputer, i calcoli di ray tracing venivano svolti manualmente attraverso tavole mw1gtrigonometriche e mw1wlogaritmiche. Le formule ottiche utilizzate da molte lenti fotografiche classiche erano ottimizzate da gruppi di lavoro numerosi, ognuno dei quali era responsabile di una piccola parte del complicato calcolo. Nell'era informatica, queste operazioni sono affidate ai calcolatori elettronici e a software dedicati (come, p.e., OSLO o TracePro di Lambda Research, CODE V o Zemax). Una versione semplificata del ray tracing, conosciuta come "ray transfer matrix analysis", viene utilizzata frequentemente nella progettazione di risonatori ottici utilizzati nei mw2alaser.

Esempio

Una dimostrazione dei principi coinvolti nel ray tracing, ci permetterà di considerare in che modo si possa trovare l'intersezione tra un raggio ed una sfera. L'equazione generale di una sfera può essere espressa in notazione mw2wvettoriale, dove mw3aI è un punto sulla superficie della sfera, mw3qC ne è il centro e mw3gr il raggio, con questa formula: mw3w | I − − C | 2 = r 2 {\displaystyle |\mathbf {I} -\mathbf {C} |^{2}=r^{2}} .

Allo stesso modo, se una semiretta è definita attraverso il punto di origine mw4qS (origine del raggio) e la sua direzione mw4gd, ogni punto sulla linea soddisfa la seguente equazione:

mw5q S + t d , {\displaystyle \mathbf {S} +t\mathbf {d} \ ,}

in cui mw5wt è una costante che definisce la distanza misurata sulla semiretta partendo dall'origine (per cui, per semplicità, mw6ad è generalmente un vettore unitario). Ora, nella scena noi conosciamo mw6qS, mw6gd, mw6wC, ed mw7ar. Quello che ci serve è trovare mw7qt per poterlo sostituire ad mw7gI:

mw8q | S + t d − − C | 2 = r 2 . {\displaystyle |\mathbf {S} +t\mathbf {d} -\mathbf {C} |^{2}=r^{2}\ .}

Supponiamo che mw8w V = d e f S − − C {\displaystyle \mathbf {V} \ {\stackrel {\mathrm {def} }{=}}\ \mathbf {S} -\mathbf {C} } per semplicità, allora

mw9g | V + t d | 2 = r 2 {\displaystyle |\mathbf {V} +t\mathbf {d} |^{2}=r^{2}}

mw-q V 2 + t 2 d 2 + 2 V ⋅ ⋅ t d = r 2 {\displaystyle \mathbf {V} ^{2}+t^{2}\mathbf {d} ^{2}+2\mathbf {V} \cdot t\mathbf {d} =r^{2}}

mw-a ( d 2 ) t 2 + ( 2 V ⋅ ⋅ d ) t + ( V 2 − − r 2 ) = 0 {\displaystyle (\mathbf {d} ^{2})t^{2}+(2\mathbf {V} \cdot \mathbf {d} )t+(\mathbf {V} ^{2}-r^{2})=0\ }

Questa mw-gequazione quadratica ha soluzioni:

mwaqe t = − − ( 2 V ⋅ ⋅ d ) ± ± ( 2 V ⋅ ⋅ d ) 2 − − 4 ( d 2 ) ( V 2 − − r 2 ) 2 ( d 2 ) {\displaystyle t={\frac {-(2\mathbf {V} \cdot \mathbf {d} )\pm {\sqrt {(2\mathbf {V} \cdot \mathbf {d} )^{2}-4(\mathbf {d} ^{2})(\mathbf {V} ^{2}-r^{2})}}}{2(\mathbf {d} ^{2})}}\ }

Se il radicando è negativo, il raggio non interseca la sfera. Questa è la matematica di fondo del calcolo di intersezione raggio-sfera. Esistono ovviamente processi molto più generali per il raytracing, ma questo voleva solo essere un esempio di come l'algoritmo viene usato.

Note

cite-note-11. mwaqkPeter Shirley, mwaqoRealistic Ray Tracing, A K Peters/CRC Press; 2nd edition, July 9, 2003, mwaqsISBNmwaqw 978-1568814612.
cite-note-22. Vedi la mwareLegge di conservazione dell'energia
cite-note-33. mwaru Elenco di alcuni demo conosciuti
cite-note-44. mwarkNVIDIA DLSS 3.5 provato su Cyberpunk 2077: Phantom Liberty. L'impatto sulla grafica di Ray Reconstruction

Bibliografia

• citeref-mcmicrocomputer-114Ray Tracing - Doverosa introduzione (JPG), in MCmicrocomputer, n. 114, Roma, Technimedia, gennaio 1992, pp. 245-249, ISSN 1123-2714. La rubrica sul ray tracing continua nei numeri successivi fino al n° 128.
• mwar4(EN) Andrew Glassner (a cura di), mwar8An Introduction to Ray Tracing, Academic Press, 1989. ISBN 0-12-286160-4.
• mwasi(EN) Peter Shirley e R. Morley Keith, mwasmRealistic Ray Tracing,2nd edition, A.K. Peters, 2001. ISBN 1-56881-198-5.
• mwasy(EN) Henrik Wann Jensen, mwascRealistic image synthesis using photon mapping, A.K. Peters, 2001. ISBN 1-56881-147-0.
• mwaso(EN) Matt Pharr e Greg Humphreys, mwassPhysically Based Rendering: From Theory to Implementation, Morgan Kaufmann, 2004. ISBN 0-12-553180-X.

Voci correlate

• mwataRadiosity

Esempi di software

• BRL-CAD
• mwatsPOV-Ray
• Radiance
• TurboSilver
• mwat8YafRay

Altri progetti

Altri progetti

• Wikimedia Commons

• Wikimedia Commons contiene immagini o altri file sul ray tracing

Collegamenti esterni

• citerefbritannica-com(EN) ray tracing, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.
• citereffoldoc(EN) Denis Howe, ray tracing, in Free On-line Dictionary of Computing. Disponibile con licenza mwauyGFDL
• mwaugThe Ray Tracing News - Brevi articoli di ricerca e link ad ulteriori fonti
• mwauoInteractive Ray Tracing: The replacement of rasterization? - Una tesi riguardante il ray tracing in real-time, dicembre 2006
• mwauwSerie di tutorial sull'implementazione di un ray tracer in C++, su devmaster.net. URL consultato il 5 gennaio 2007 (archiviato dall'url originale il 26 settembre 2006).
• mwau4The Internet Ray Tracing Competition - Competizione on-line su immagini ed animazioni in ray tracing
• mwavaIntel e il Ray Tracing, sguardo approfondito, su tomshw.it. URL consultato il 29 marzo 2009 (archiviato dall'url originale il 15 marzo 2009).